package be.vdab.servlets;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import be.vdab.entities.Adres;
import be.vdab.entities.Persoon;
import be.vdab.util.Begroeting;
import be.vdab.util.RequestStatistiek;

// enkele imports...
@WebServlet(urlPatterns="/welkom.htm", name="welkomservlet")
public class WelkomServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private static final String VIEW = "/WEB-INF/JSP/welkom.jsp";
	private final Persoon zaakvoerder = new Persoon();
	private int aantalKeerBekeken; //niet threadsafe!
	private final RequestStatistiek requestStatistiek = new RequestStatistiek();
	
	private synchronized int verhoogAantalKeerBekeken() {
		return ++aantalKeerBekeken;
	}


@Override
public void init() throws ServletException {
	ServletContext servletContext = this.getServletContext();
	zaakvoerder.setVoornaam(servletContext.getInitParameter("voornaam"));
	zaakvoerder.setFamilienaam(servletContext.getInitParameter("familienaam"));
	zaakvoerder.setAantalKinderen(Integer.valueOf(servletContext.getInitParameter("aantalKinderen")));
	zaakvoerder.setGehuwd(Boolean.valueOf(servletContext.getInitParameter("gehuwd")));
	Adres adres = new Adres();
	adres.setGemeente("Antwaarpe");
	adres.setHuisNr("15");
	adres.setPostcode(2000);
	adres.setStraat("Pizzastraat");
	zaakvoerder.setAdres(adres);
	
	
}
	
		@Override
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
			requestStatistiek.voegRequestToe(request);
	request.setAttribute("aantalKeerBekeken", verhoogAantalKeerBekeken());
	request.setAttribute("zaakvoerder", zaakvoerder);
	request.setAttribute("boodschap",  new Begroeting());
	RequestDispatcher dispatcher = request.getRequestDispatcher(VIEW);
	dispatcher.forward(request, response);
	}
}
